#include<bits/stdc++.h>
using namespace std;

#define int long long

struct node {
	int index, len = 0;
} t[100005];

int a[100005];

signed main() {
	int n;
	cin >> n;
	int num = 0;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		if (a[i]) {
			if (a[i] != a[i - 1]) {
				num++;
				t[num].index = i;
				t[num].len++;
			}
			t[num].len++;
		}
	}
	
	sort(t + 1, t + num + 1, [](node x, node y) {
		if (x.len != y.len)
			return x.len > y.len;
		else
			return x.index < y.index;
	});
	
	if (t[1].len >= 2 * t[2].len) {
		int mid = t[1].len / 2;
		if (t[1].len % 2 == 1)
			cout << t[1].index + mid;
		else
			cout << t[1].index + mid - 1;
	} else if (t[1].len == t[2].len) {
		for (int i = 1; i <= n; i++) {
			if (a[i]) {
				cout << i;
				return 0;
			}
		}
	} else if (t[1].len < 2 * t[2].len) {
		cout << t[1].index + (t[1].len - t[2].len - 1);
	}
	return 0;
}
